#1 : besenka.prg
#2 : "sess" и "буква" са променливи, които трябва да пристигнат с входния файл от post-командата
#3 : срок_мин казва след колко минути сесията се обявява за невалидна
#4 срок_мин 20
#5 минути_в_деня 24*60
#6 срок срок_мин/минути_в_деня
#7 брой_сбъркани 0
#8 макс_грешки 5
#9
#10 : опис на подпрограмите
#11 направи_страница 0100
#12 състави_думата_за_показване 1200
#13 състави_редовна_страница 0400
#14 сложи_текст_в_страницата 2100
#15
#16 : -------------------------------
#17
#18 коментар1_ ''
#19 коментар2_ ''
#20 чмомент_нов make_dtpacket.prg('','')
#21 момент_нов numtodh(чмомент_нов)
#22 база GTEMP
#23 рсп present(sess,1,1,1)
#24 ако рсп>0
#25 момент_стар scell(рсп,2)
#26 чмомент_стар dhtonum(момент_стар)
#27 откога чмомент_нов-чмомент_стар
#28 пресен (откога>0) and (откога<срок)
#29 ако пресен=0
#30 вмкред(рсп,-1)
#31 рсп 0
#32 иначе
#33 поле (рсп,2)=момент_нов
#34 крайако
#35 има_игра пресен
#36 иначе
#37 има_игра 0
#38 крайако
#39 ако subm='Нова игра'
#40 има_игра 0
#41 ако рсп>0 то вмкред(рсп,-1)
#42 крайако
#43
#44 ако има_игра
#45 поле (рсп,2)=момент_нов
#46 поле (1,4)=буква
#47 блок големи(1,4,1,4)+
#48 буква scell(1,4)
#49 стара_буква posit(1,4,рсп,4)
#50 дума_ scell(рсп,3)
#51 жокер_ find_text.prg(дума_,'WORDS',1,2)
#52 ако стара_буква
#53 коментар2_ 'Буквата "'+буква+'" е вече опитана, пробвайте с друга'
#54 буква ''
#55 крайако
#56 валидна_буква буква<>'' and буква>='А' and буква<='Я'
#57 ако валидна_буква=0 and стара_буква=0
#58 коментар2_ 'Буквата "'+буква+'" е невалидна, пробвайте с друга'
#59 буква ''
#60 крайако
#61 линия_ линия_+буква
#62 поле (рсп,4)=линия_
#63 блок големи(рсп,4,рсп,4)+
#64 линия_ scell(рсп,4)
#65 иначе
#66 : избира случайна дума от речника
#67 база words
#68 брой_думи countrr(0)
#69 думаномер rnd(брой_думи)+1
#70 дума_ scell(думаномер,1)
#71 жокер_ scell(думаномер,2)
#72 : добавя игра
#73 база GTEMP
#74 добави 1
#75 рсп countrr(0)
#76 поле (рсп,1)=sess
#77 поле (рсп,3)=дума_
#78 поле (рсп,2)=момент_нов
#79 линия_ ''
#80 буква ''
#81 крайако
#82
#83 подпреход направи_страница
#84 база GTEMP
#85 поле (1,1)='session'
#86 поле (1,4)=''
#87 ако (край_на_играта)
#88 поле (1,2)='рсп:'+рсп
#89 ако рсп<countrr(0) and (рсп>0)
#90 вмкред (рсп,-1)
#91 рсп 0
#92 крайако
#93 ако рсп=countrr(0) and (рсп>0) то добави -1
#94 крайако
#95 изтр STRANICA
#96 стоп(3)
#97 =======================================
#98 0100 : подпрограма направи страница
#99 подпреход състави_думата_за_показване
#100 ако край_на_играта
#101 ако играта_е_загубена
#102 коментар2_ 'Съжалявам, загубихте играта, думата е "'+дума_+'"'
#103 иначе
#104 коментар2_ 'Браво, ВИЕ ПЕЧЕЛИТЕ, познахте думата "'+дума_+'"'
#105 крайако
#106 крайако
#107 подпреход състави_редовна_страница
#108 пробратно
#109 =======================================
#110 0400 : подпрограма направи редовна страница
#111 коментар1_ 'Грешки :'+брой_сбъркани
#112 коментар_ коментар2_+'<br>'+ коментар1_
#113 създай STRANICA(80,50)
#114 база STRANICA
#115 добави 1000
#116 блок тексто(1,1,1000,2) BESENKA_0.HTM
#117 отрезф(0,1)
#118
#119 указател '<!-- Думата за познаване -->'
#120 съдържание нова_дума
#121 подпреход сложи_текст_в_страницата
#122
#123 указател '<!-- Подсказващ текст -->'
#124 съдържание '(жокер:'+жокер_+')'
#125 подпреход сложи_текст_в_страницата
#126
#127 указател '<!-- Картинка на бесилката -->'
#128 файл_с_картинка 'besenka_'+брой_сбъркани+'.jpg'
#129 съдържание '<img src="'+файл_с_картинка+'">'
#130 дестинация фолдър_данни+'\'+файл_с_картинка
#131 фкопи @файл_с_картинка @дестинация
#132 подпреход сложи_текст_в_страницата
#133
#134 указател '<!-- Линия с опитани букви -->'
#135 съдържание 'ОПИТАНИ БУКВИ:'+линия_
#136 подпреход сложи_текст_в_страницата
#137
#138 указател '<!-- Коментарен текст -->'
#139 съдържание коментар_
#140 подпреход сложи_текст_в_страницата
#141
#142 указател '<!-- Входна линия -->'
#143 съдържание '<input type="hidden" name="lettersline" value="'+линия_+'" />'
#144 подпреход сложи_текст_в_страницата
#145
#146 указател '<!-- Сесиен идентификатор -->'
#147 съдържание '<input type="hidden" name="sessionid" value="'+sess+'"'
#148 подпреход сложи_текст_в_страницата
#149
#150 указател '<!-- Линия_за_въвеждане_на_буква -->'
#151 ако край_на_играта
#152 съдържание ''
#153 иначе
#154 съдържание 'Опитай тази буква:<input type="text" name="symbol" size="5" maxlength="1"> '
#155 крайако
#156 подпреход сложи_текст_в_страницата
#157
#158 указател '<!-- Бутон за изпращане -->'
#159 ако край_на_играта
#160 съдържание '<input type="submit" name="submit" value="Нова игра" />'
#161 иначе
#162 съдържание '<input type="submit" name="submit" value="Опитай" />'
#163 крайако
#164 подпреход сложи_текст_в_страницата
#165 дест фолдър_данни+'\'+изходен_файл
#166
#167 : блок текст(1,1,countrr(0),countcc(0)) @дест
#168 блок текст(1,1,countrr(0),countcc(0)) @изходен_файл
#169 пробратно
#170 =======================================
#171 1200 : съставя думата за показване
#172 поле (рсп,4)=линия_
#173 поле (рсп,5)=''
#174 блок големи(рсп,4,рсп,4)+
#175 дължина lenstr(дума_)
#176 брой_познати 0
#177 низ_познати ''
#178 нова_дума ''
#179 има_още 0
#180 индекс 1
#181 1210 : цикъл по буквите
#182 ако индекс>дължина то преход 1220
#183 оригинална_буква scopy(дума_,индекс,1)
#184 буква_за_показване '*'
#185 ако индекс=1 or индекс=дължина
#186 буква_за_показване оригинална_буква
#187 иначе
#188 поле (1,4)=оригинална_буква
#189 блок големи(1,4,1,4)+
#190 позната posit(1,4,рсп,4)>0
#191 ако позната
#192 нова posit(1,4,рсп,5)=0
#193 ако нова
#194 низ_познати низ_познати+оригинална_буква
#195 поле (рсп,5)=низ_познати
#196 крайако
#197 буква_за_показване оригинална_буква
#198 брой_познати брой_познати+1
#199 крайако
#200 крайако
#201 ако буква_за_показване='*' то има_още 1
#202 нова_дума нова_дума + буква_за_показване+' '
#203 индекс индекс+1
#204 преход 1210
#205 1220 : думата е готова
#206 : брой_сбъркани lenstr(линия_)-брой_познати
#207 брой_сбъркани lenstr(линия_)-lenstr(низ_познати)
#208 ако брой_сбъркани<0 то брой_сбъркани 0
#209 играта_е_загубена брой_сбъркани>=макс_грешки
#210 играта_е_спечелена има_още=0
#211 край_на_играта играта_е_загубена OR играта_е_спечелена
#212 пробратно
#213 =======================================
#214 2100 : подпрограма сложи_текст_в_страницата
#215 : указател показва къде е текста
#216 : съдържание се слага в страницата на реда под указателя
#217 рр1 present(указател,1,1,0)
#218 ако рр1=0
#219 грешка 11
#220 поле(1,1)=грешка
#221 : кажи ##лоша_начална_страница
#222 крайб4
#223 крайако
#224 поле (рр1+1,1) = съдържание
#225 пробратно
#226 =======================================